[INV-MIGRATION-180] Создать таблицу menu_db.menu_templates
Развертывание физических таблиц комплексных меню и пользовательских статусов активации
NoteКраткая карточка задачи
- Репозиторий / Компонент:
menu-service(Базаmenu_db, контур Управления Меню). - Целевая СУБД: PostgreSQL v15+.
- Ссылка на Метод: Интерфейс и состояния экрана авторизации
- Статус: Готово к реализации
Задача миграции 12.1: Развертывание структур порционного учета потребления в СУБД холодильника
- Репозиторий / Компонент:
fridge-service/consume-service(Базаfridge_db, контур INVENTORY). - Целевая СУБД: PostgreSQL v15+.
- Инструкция по шагам: Выполнить DDL-миграцию для создания таблиц сессий потребления (
consumption_sessions) и связанных с ними порционных вычетов (consumption_items) внутри базыfridge_dbдля сквозного аудита утилизации еды пользователями. Таблицы создаются в едином транзакционном контуре с балансами инвентаря.
-- Скрипт миграции для fridge_db (Контур INVENTORY)
CREATE TABLE IF NOT EXISTS fridge_db.consumption_sessions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
home_group_id VARCHAR(64) NOT NULL,
user_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(128) NOT NULL, -- X-Request-ID для сквозного трекинга
space_type VARCHAR(16) NOT NULL, -- 'HOME' / 'OFFICE'
consumed_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS fridge_db.consumption_items (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
session_id UUID REFERENCES fridge_db.consumption_sessions(id) ON DELETE CASCADE,
food_element_id VARCHAR(64) NOT NULL,
quantity_spent NUMERIC(10, 3) NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_consumption_sessions_group
ON fridge_db.consumption_sessions (home_group_id, consumed_at DESC);